package caj.springboot.utils;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * @description: 分页工具类
 * @author: CAJ
 * @time: 2025/05/08 17:25
 */
public class PageUtils {

    /**
     * 通用内存分页工具
     * @param dataList 原始数据列表
     * @param pageNum  当前页码（从1开始）
     * @param pageSize 每页记录数
     * @return 分页结果 Page<T>
     */
    public static <T> Page<T> paginate(List<T> dataList, int pageNum, int pageSize) {
        Page<T> page = new Page<>(pageNum, pageSize);
        int total = dataList.size();
        int start = (pageNum - 1) * pageSize;
        int end = Math.min(start  + pageSize, total);

        page.setRecords(dataList.subList(start,  end));
        page.setTotal(total);
        return page;
    }

}
